package sharetime.user.service;

import sharetime.core.persistence.EntityExistsException;
import sharetime.user.domain.User;
import sharetime.user.domain.UserData;

public interface IUserManager {
	public User getUserById(long userId);

	public void createUser(User user) throws EntityExistsException;

	public void updateUser(User user);
	
	public void updateUserDate(UserData ud);

	public void alterPassword(User user, String newPassword);

	public User getUserByUsername(String username);

	public void removeUser(long userId);
	
	public UserData getUserData(long userId);
	
	public UserData createUserData(long userId);
	
}
